package com.alibaba.citrus.cr.unified.inventory.dto.api.response;

import com.alibaba.citrus.cr.unified.inventory.dto.api.request.AllocateOrderType;
import com.alibaba.citrus.cr.unified.inventory.dto.api.request.BaseDTO;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;

/**
 * @description: 调拨单明细视图模型
 * @author: yuhw
 * @date: 2021年09月13日 20:43
 **/
@Data
public class AllocateOrderDetailVO extends BaseDTO {
    /**
     * 调拨单明细id
     */
    private Long id;
    /**
     * 类型 {@link AllocateOrderType}
     */
    private Integer type;
    /**
     * 调拨单id
     */
    private String allocateOrderId;
    /**
     * 调拨单号
     */
    private String code;
    /**
     * 外部单号 sap单号
     */
    private String outAllocateOrderId;
    /**
     * 行号
     */
    private String lineNo;
    /**
     * 发货仓库名称
     */
    private String shipWarehouseName;
    /**
     * 发货仓库id
     */
    private Long shipWarehouseId;
    /**
     * 收货仓库名称
     */
    private String receiveWarehouseName;
    /**
     * 收货仓库id
     */
    private Long receiveWarehouseId;
    /**
     * 收货库区id
     */
    private Long receiveAreaId;
    /**
     * 收货库区名称
     */
    private String receiveAreaName;
    /**
     * 货品id
     */
    private String scItemId;
    /**
     * 货品名称
     */
    private String scItemName;
    /**
     * 货品编码
     */
    private String scItemCode;
    /**
     * 单据数量 货品预报的
     */
    private String docQuantity;
    /**
     * 状态 {@link com.alibaba.citrus.cr.unified.inventory.dto.api.request.AllocateOrderStatus}
     */
    private Integer status;
    /**
     * 状态描述 状态描述是个有颜色的json
     */
    private JSONObject statusDesc;
    /**
     * 确认量
     */
    private String confirmQuantity;
    /**
     * 发货量
     */
    private String shipQuantity;
    /**
     * 到货量
     */
    private String receiveQuantity;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 发货时间
     */
    private Date shipTime;
    /**
     * 到货时间
     */
    private Date receiveTime;
    /**
     * 是否为退单
     */
    private Boolean returnOrder;
    /**
     * 是否为退单描述
     */
    private String returnOrderDesc;

    //----------总部销售调拨单 ------------
    /**
     * 外部单号 sap单号
     */
    private String outAllocateApplyOrderCode;
    /**
     * 提报组织
     */
    private String applyOrgName;
    /**
     * 提报组织id
     */
    private String applyOrgId;
    /**
     * 客户
     */
    private String customer;
    /**
     * 客户地址
     */
    private String customerAddress;
    /**
     * 单价
     */
    private String unitPrice;
    /**
     * 折扣
     */
    private String discount;
    /**
     * 小计金额
     */
    private String subTotalAmount;
    /**
     * 预报单id
     */
    private String allocateApplyOrderId;
    /**
     * 预报单号
     */
    private String allocateApplyOrderCode;
    /**
     * 预报单行号
     */
    private String allocateApplyOrderLineNo;
    /**
     * 物流信息
     */
    private String logisticsInfo;

    //------ 同公司调拨--------
    /**
     * 预报数量
     */
    private String applyQuantity;
    /**
     * 累计回复数量
     */
    private Integer grandTotalReplyQuantity;
    /**
     * 剩余数量
     */
    private String remainQuantity;
    /**
     * 提交时间
     */
    private Date submitTime;
    /**
     * 回复时间
     */
    private Date replyTime;
    /**
     * 提交人
     */
    private String applicant;
    /**
     * 借货组织
     */
    private String borrowOrgName;
    /**
     * 发货组织
     */
    private String shipOrgName;

    //=====跨公司结算======
    /**
     * 跨公司结算
     */
    private String crossCompanySettlement;
    /**
     * 单据日期
     */
    private Date docDate;


}
